package com.zhixing.common.domain.dto;

import jakarta.validation.constraints.DecimalMax;
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class RoutePlanningDTO {

    /**
     * 起点经度
     * @example 116.397477
     */
    @NotNull(message = "起点经度不能为空")
    @DecimalMin(value = "-180", message = "经度不能小于-180")
    @DecimalMax(value = "180", message = "经度不能大于180")
    private BigDecimal startLongitude;

    /**
     * 起点纬度
     * @example 39.908692
     */
    @NotNull(message = "起点纬度不能为空")
    @DecimalMin(value = "-90", message = "纬度不能小于-90")
    @DecimalMax(value = "90", message = "纬度不能大于90")
    private BigDecimal startLatitude;

    /**
     * 终点经度
     * @example 116.497477
     */
    @NotNull(message = "终点经度不能为空")
    @DecimalMin(value = "-180", message = "经度不能小于-180")
    @DecimalMax(value = "180", message = "经度不能大于180")
    private BigDecimal endLongitude;

    /**
     * 终点纬度
     * @example 39.808692
     */
    @NotNull(message = "终点纬度不能为空")
    @DecimalMin(value = "-90", message = "纬度不能小于-90")
    @DecimalMax(value = "90", message = "纬度不能大于90")
    private BigDecimal endLatitude;
}
